package com.java.demo.component;
import org.springframework.beans.factory.BeanNameAware;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

/**
 * Bean 生命周期的 初始化
 */

public class BeanCompont implements BeanNameAware {
    @Override
    public void setBeanName(String s) {
        System.out.println("执行了通知 BeanName -> " + s);
    }

    /**
     * xml 方式的初始化
     */
    public void myInit() {
        System.out.println("xml 方式的初始化");
    }

    @PostConstruct
    public void doPostConstruct() {
        System.out.println("注解方式的初始化");
    }

    public void sayHi() {
        System.out.println("执行 sayHi()");
    }

    @PreDestroy
    public void doPreDestroy() {
        System.out.println("执行了 doPreDestroy（销毁）");
    }
}
